package com.bloom.system.service.impl;

import java.util.List;

import com.bloom.common.core.domain.entity.SysUser;
import com.bloom.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bloom.system.mapper.SysAuthUserMapper;
import com.bloom.system.domain.SysAuthUser;
import com.bloom.system.service.ISysAuthUserService;

/**
 * 第三方授权Service业务层处理
 * 
 * @author bloom
 * @date 2021-05-11
 */
@Service
public class SysAuthUserServiceImpl implements ISysAuthUserService 
{
    @Autowired
    private SysAuthUserMapper sysAuthUserMapper;

    /**
     * 查询第三方授权
     * 
     * @param authId 第三方授权ID
     * @return 第三方授权
     */
    @Override
    public SysAuthUser selectSysAuthUserById(Long authId)
    {
        return sysAuthUserMapper.selectSysAuthUserById(authId);
    }


    /**
     * 查询第三方授权
     *
     * @param uuid
     * @return 第三方授权
     */
    @Override
    public SysUser selectAuthUserByUuid(String uuid)
    {
        return sysAuthUserMapper.selectAuthUserByUuid(uuid);
    }

    /**
     * 查询第三方授权列表
     * 
     * @param sysAuthUser 第三方授权
     * @return 第三方授权
     */
    @Override
    public List<SysAuthUser> selectSysAuthUserList(SysAuthUser sysAuthUser)
    {
        return sysAuthUserMapper.selectSysAuthUserList(sysAuthUser);
    }

    /**
     * 新增第三方授权
     * 
     * @param sysAuthUser 第三方授权
     * @return 结果
     */
    @Override
    public int insertSysAuthUser(SysAuthUser sysAuthUser)
    {
        sysAuthUser.setCreateTime(DateUtils.getNowDate());
        return sysAuthUserMapper.insertSysAuthUser(sysAuthUser);
    }

    /**
     * 修改第三方授权
     * 
     * @param sysAuthUser 第三方授权
     * @return 结果
     */
    @Override
    public int updateSysAuthUser(SysAuthUser sysAuthUser)
    {
        return sysAuthUserMapper.updateSysAuthUser(sysAuthUser);
    }

    /**
     * 批量删除第三方授权
     * 
     * @param authIds 需要删除的第三方授权ID
     * @return 结果
     */
    @Override
    public int deleteSysAuthUserByIds(Long[] authIds)
    {
        return sysAuthUserMapper.deleteSysAuthUserByIds(authIds);
    }

    /**
     * 删除第三方授权信息
     * 
     * @param authId 第三方授权ID
     * @return 结果
     */
    @Override
    public int deleteSysAuthUserById(Long authId)
    {
        return sysAuthUserMapper.deleteSysAuthUserById(authId);
    }

    /**
     * 校验source平台是否绑定
     *
     * @param userId 用户编号
     * @param source 绑定平台
     * @return 结果
     */
    public int checkAuthUser(Long userId, String source){
        return sysAuthUserMapper.checkAuthUser(userId,source);
    }
}
